home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 015a / umbfil13.zip / UMBFILES.DOC < prev    next >
Text File  |  1993-04-05  |  6KB  |  129 lines

  1.  
  2. UMBFILES.COM
  3.  
  4. (c) copyright by Jeff Prosise
  5.  
  6.  
  7. UMBFILES.EXE  (Version 1.3)
  8.  
  9. Updated by Mark K. Mathews   April 3, 1993 (Utilities)
  10.  
  11.  
  12. Purpose: UMBFILES is one of our first programs to make use of
  13. upper memory blocks.  In doing so, it can free up as much as 15K
  14. of RAM.
  15.  
  16. Syntax: UMBFILES[=]nn
  17.  
  18. This is where nn is the number of files you want to allocate space for
  19. in upper memory. Valid values range from 1 to 247. An additional
  20. restriction is that the sum of UMBFILES and files already
  21. allocated may not exceed 255, because DOS doesn't support more
  22. than 255 files open in the system at any one time. For example,
  23. if you boot with the statement FILES=20 in CONFIG.SYS and then
  24. run UMBFILES, the maximum value UMBFILES will accept for nn is
  25. 235. If you allocate space for 20 more files with the statement
  26. UMBFILES=20 and then run UMBFILES again, the most it will accept
  27. is 215.
  28.      You can run UMBFILES as many times as you like. Each time,
  29. the SFT is extended by the number of entries indicated. You can
  30. determine the number of SFT entries the system currently contains
  31. (and thus how many files can be open in the system at once) using
  32. the NUMFILES utility published in the November 12, 1991, Tutor
  33. column. NUMFILES (along with its source code) is available on
  34. PC MagNet.
  35.      The most efficient way to use UMBFILES is to place the
  36. statement FILES=8 in CONFIG.SYS and place a UMBFILES command
  37. allocating additional space for files in AUTOEXEC.BAT. For example,
  38. if you currently boot with the statement FILES=60, change it to
  39. FILES=8 and add the command
  40.                           UMBFILES=52
  41.  
  42. to AUTOEXEC.BAT. Doing so will save you 3,072 bytes (3K) of memory.
  43. The 8 SFT entries created by the FILES command will be located in
  44. conventional memory; the 52 set up by UMBFILES will be in upper
  45. memory. Why not place all 60 in upper memory? The minimum value DOS
  46. will accept for FILES is 8, so the first 8 SFT entries must always
  47. be in conventional memory. Any entries beyond that may be placed
  48. in upper memory with UMBFILES.
  49.      To use UMBFILES, you must be running DOS 5.0 and have a
  50. 386 or 486 configured for loading programs and device drivers in
  51. upper memory. At a minimum, this means that:
  52.  
  53. -  You must load HIMEM.SYS in CONFIG.SYS;
  54. -  You must also load EMM386.EXE with a RAM or NOEMS parameter;
  55. -  CONFIG.SYS must contain the statement DOS=UMB (or DOS=HIGH,UMB);
  56. -  Your PC must contain at least 384K of extended memory.
  57.  
  58.      If UMBFILES reports that the upper memory area is not
  59. available, then it was unable to allocate a block of upper memory
  60. probably because your system isn't set up properly for UMBs. If
  61. this happens, check your CONFIG.SYS file to make sure it contains
  62. the required statements and that EMM386.EXE is indeed being loaded
  63. with a RAM or NOEMS parameter. Without one of these two parameters,
  64. EMM386.EXE will not create the upper memory blocks that UMBFILES
  65. needs.
  66.      If UMBFILES reports ``Insufficient memory,'' it means that
  67. the upper memory area is available but there isn't a UMB large
  68. enough to hold the number of SFT entries you requested. To determine
  69. the size of the largest free UMB, just type MEM /C. If there is some
  70. unallocated upper memory remaining, you may be able to use it by
  71. decreasing the requested number of SFT entries. You should note that
  72. each entry requires approximately 59 bytes of upper memory.
  73.      Other error messages from UMBFILES include ``Sum of FILES
  74. and UMBFILES cannot exceed 255,'' indicating that the number of
  75. additional SFT entries that you requested would push the total to
  76. more than 255, and ``Invalid parameter (cannot be 0),'' which you
  77. get if you type UMBFILES=0. UMBFILES will also respond with an
  78. error message if the number you enter for nn is invalid (for
  79. example, if the entry contains any nonnumeric characters), if you
  80. attempt to run it with any version of DOS other than 5.x, or if
  81. there is a syntax error. If UMBFILES succeeds in extending the
  82. SFT, it will display the message ``System File Table extended,''
  83. indicating that the entries you requested were added to the SFT.
  84.      A final note concerning the use of UMBFILES relates to its
  85. on-line help feature. You can get help with any DOS 5.0 command by
  86. running it with a /? switch. Similarly, you can get help with
  87. UMBFILES by typing:
  88.                       UMBFILES /?
  89.  
  90. In response, UMBFILES displays a one-line description of itself
  91. followed by a description of its syntax and other helpful
  92. information.
  93.  
  94.  
  95. ****************************************************************************
  96. ; Revision history:
  97. ; *****************
  98. ;
  99. ; Version 1.1 (11/91): Changed the routine that performs the MCB fixup to
  100. ; correct a problem it caused with the MEM /C command.  In version 1.0, the
  101. ; routine simply placed an 08h in the MCB's owner ID field.  In version 1.1,
  102. ; it places the segment address of the UMB allocated for UMBFILES in the ID
  103. ; field and copies "UMBFILES" to the final eight bytes of the MCB.  Version
  104. ; 1.1 also reports the new size of the SFT after installation.
  105. ;
  106. ; Version 1.2 (2/92): Changed the code so that the original allocation
  107. ; strategy and upper memory link state are restored even if function 48h
  108. ; fails to allocate a UMB.  Previous versions failed to restore the state
  109. ; information if function 48h failed.  As a result, the system crashed with
  110. ; a memory allocation error the next time COMMAND.COM was reloaded.
  111. ;
  112. ;
  113. ; Version 1.3 (4/5/93);
  114. ; 1) Changed the code to detect DOS 5.x or above.
  115. ;    Previous version detect DOS 5.x ONLY and to make it run, you had to
  116. ;    use SETVER.EXE and add UMBFILES.COM as "SETVER UMBFILES.COM 5.0".
  117. ; 2) Converted UMBFILES.COM to UMBFILES.EXE (for Microsoft and other
  118. ;    people who hate .COM files :) ).
  119. ;    Both versions are provided.
  120. ; 3) .COM version is 25% smaller than version 1.2
  121. ;
  122. ; Updated by Mark K. Mathews
  123. ;            15 Dunstan Road
  124. ;            Lynnfield, MA. 01940
  125. ;            617-334-3910
  126. ;
  127. ;
  128. ;****************************************************************************
  129.